// 服务器的入口文件
// 1、引入express
const express = require("express");
const query = require("./utils/db");
const cors = require("cors");

// 2、创建服务器
const app = express();

// 注册中间件，post请求获取数据
app.use(express.urlencoded())
app.use(express.json())

// 封装自定义中间件，统一解决跨域问题
// app.use((req, res, next) => {
//     res.set("Access-Control-Allow-Origin", "*");
//     next()
// })
// 使用第三方中间件cors，统一解决跨域问题
app.use(cors());

// 3、创建路由接口

// 获取英雄皮肤接口
app.get("/api/getHeroSkin", (req, res) => {
    // res.set("Access-Control-Allow-Origin", "*")
    query("select * from skin", (err, result) => {
        if (err) {
            console.log(err);
            res.send(err)
            return
        }
        res.send({
            code: 200,
            msg: "英雄列表获取成功！",
            data: result
        })
    })
    // res.send("ok");
})

// 增加英雄匹配接口
app.post("/api/addHeroSkin", (req, res) => {
    // res.set("Access-Control-Allow-Origin", "*")
    // 接收post请求的数据
    // req.body  ===> 中间件
    // 1、接收数据
    // 2、添加判断，数据是否为空，为空不添加，返回提示给前端
    // 3、调用query向数据库添加数据
    let { cname, skin_name } = req.body;
    if (cname && skin_name) {
        // 存在，则调用query
        query(`insert into skin(cname,skin_name) values('${cname}','${skin_name}')`, (err, result) => {
            if (err) {
                console.log(err);
                res.send({
                    code: 500,
                    msg: "数据添加失败",
                    err: err
                })
                return
            }
            res.send({
                code: 200,
                msg: "数据添加成功！"
            })
        })
    } else {
        res.send({
            code: 403,
            msg: "参数不能为空，请检查！"
        })
    }

    // res.send("ok")
})

// 4、监听端口号
app.listen("8000", () => {
    console.log("服务器启动成功：http://localhost:8000");
})

